import yfieldsControls from "../yfieldsControls"
Component({
  behaviors: [yfieldsControls],
  properties: {
    bindValue: String,
    defaultValue: String,
    label: String,
    onlyRead: Boolean,
  },

  relations: {
    '../yform/yform': {
      type: 'ancestor', // 关联的目标节点应为祖先节点
      linked: function (target) {
        this.updateFormItemValue = (curValue) => {
          target.data.form[this.data.bindValue] = curValue
          this.setData({ value: curValue })
        }
      }
    }
  },
  lifetimes: {
    attached: function () {
      const initValue = this.data.defaultValue || ''
      this.dataset[this.data.bindValue] = initValue
      this.setData({ value: initValue })
    }
  },
  methods: {
    // 这个方法是父组件提供的,这里只是为了不报错
    updateFormItemValue: (_: string) => { },
    bindinput: function (event: WechatMiniprogram.Input) {
      this.dataset[this.data.bindValue] = event.detail.value
      this.updateFormItemValue(event.detail.value)
    }
  }
})
